<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>reduce归并</title>
		<script type="text/javascript">
			//var   /vɑr/
			//Array  /əˈreɪ/ 
			//alert   /əˈlɜːrt/
			//reduce  /rɪˈdjuːs/
			//item   /ˈaɪtəm/
			//index  /ˈɪndeks/ 
			//prev   /priv/
			//next   /nekst/ 
			
			// reduce方法接收一个函数作为累加器，数组中的每个值(从左到右)开始缩减，最终计算为一个值
			// reduce方法的参数：
				// 参数1：遍历时进行的操作函数
				// 	  函数的参数1：初始值，或者计算结束后的返回值。第一次是下标为0的元素  第二次是上一次return的值
				// 	  函数的参数2：当前元素，从下标1开始，当前遍历到的元素
				//    函数的参数3：当前遍历到的元素下标。
				// 	  函数的参数4：被遍历的数组
				// 参数2：可不填，传递给函数的初始值，如果没有填则默认初始值为0号元素
				
			var oldArray = new Array(1,2,3,4,5,6,7,8,9);
			var res = oldArray.reduce(function(prev, next, index, myarray){
				return prev + next;
			});
			alert(res);   //45
			
			//采用箭头函数来编写
			// var res = oldArray.reduce((prev, next) => {
			// 	return prev + next;
			// });
			// alert(res);   //45
		</script>
	</head>
	<body>
	</body>
</html>
